package com.zshan.clinic.database.model;

import java.io.Serializable;
import java.util.Date;

/**
 * 门诊检查项目明细表
 */
public class ClinicMedicalExam implements Serializable {
    /** 查验项目ID */
    private Long examId;

    /** 门诊ID */
    private Long medicalId;

    /** 支付状态 */
    private String payStatus;

    /** 支付时间 */
    private Date payTime;

    /** 小计;小计 */
    private Integer subtotal;

    /** 项目ID */
    private Long projectId;

    /** 项目名称;CT */
    private String projectName;

    /** 项目分类;1检查2.检验3.治疗 */
    private String projectCategory;

    /** 项目类型 */
    private String projectType;

    /** 样本类型 */
    private String sampleType;

    /** 项目价格 */
    private Integer price;

    /** 频率;频率常量表 */
    private String frequencyCode;

    /** 频率中文 */
    private String frequencyCodeText;

    /** 周期 */
    private Integer cycle;

    /** 周期单位 */
    private String cycleUnit;

    /** 周期单位中文 */
    private String cycleUnitText;

    /** 备注 */
    private String remark;

    /** 出库量 */
    private Integer totalOutQty;

    /** 出库量单位 */
    private String totalOutQtyUnit;

    /** 出库量单位中文 */
    private String totalOutQtyUnitText;

    /** 门诊ID */
    private Long clinicId;

    /** 启用状态 */
    private String isEnabled;

    /** 删除标识 */
    private String isDelete;

    /** 创建人ID */
    private Long createUserId;

    /** 创建人 */
    private String createBy;

    /** 创建时间 */
    private Date createTime;

    /** 更新人ID */
    private Long updateUserId;

    /** 更新人 */
    private String updateBy;

    /** 更新时间 */
    private Date updateTime;

    private static final long serialVersionUID = 1L;

    public Long getExamId() {
        return examId;
    }

    public void setExamId(Long examId) {
        this.examId = examId;
    }

    public Long getMedicalId() {
        return medicalId;
    }

    public void setMedicalId(Long medicalId) {
        this.medicalId = medicalId;
    }

    public String getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(String payStatus) {
        this.payStatus = payStatus == null ? null : payStatus.trim();
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Integer getSubtotal() {
        return subtotal;
    }

    public void setSubtotal(Integer subtotal) {
        this.subtotal = subtotal;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName == null ? null : projectName.trim();
    }

    public String getProjectCategory() {
        return projectCategory;
    }

    public void setProjectCategory(String projectCategory) {
        this.projectCategory = projectCategory == null ? null : projectCategory.trim();
    }

    public String getProjectType() {
        return projectType;
    }

    public void setProjectType(String projectType) {
        this.projectType = projectType == null ? null : projectType.trim();
    }

    public String getSampleType() {
        return sampleType;
    }

    public void setSampleType(String sampleType) {
        this.sampleType = sampleType == null ? null : sampleType.trim();
    }

    public Integer getPrice() {
        return price;
    }

    public void setPrice(Integer price) {
        this.price = price;
    }

    public String getFrequencyCode() {
        return frequencyCode;
    }

    public void setFrequencyCode(String frequencyCode) {
        this.frequencyCode = frequencyCode == null ? null : frequencyCode.trim();
    }

    public String getFrequencyCodeText() {
        return frequencyCodeText;
    }

    public void setFrequencyCodeText(String frequencyCodeText) {
        this.frequencyCodeText = frequencyCodeText == null ? null : frequencyCodeText.trim();
    }

    public Integer getCycle() {
        return cycle;
    }

    public void setCycle(Integer cycle) {
        this.cycle = cycle;
    }

    public String getCycleUnit() {
        return cycleUnit;
    }

    public void setCycleUnit(String cycleUnit) {
        this.cycleUnit = cycleUnit == null ? null : cycleUnit.trim();
    }

    public String getCycleUnitText() {
        return cycleUnitText;
    }

    public void setCycleUnitText(String cycleUnitText) {
        this.cycleUnitText = cycleUnitText == null ? null : cycleUnitText.trim();
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public Integer getTotalOutQty() {
        return totalOutQty;
    }

    public void setTotalOutQty(Integer totalOutQty) {
        this.totalOutQty = totalOutQty;
    }

    public String getTotalOutQtyUnit() {
        return totalOutQtyUnit;
    }

    public void setTotalOutQtyUnit(String totalOutQtyUnit) {
        this.totalOutQtyUnit = totalOutQtyUnit == null ? null : totalOutQtyUnit.trim();
    }

    public String getTotalOutQtyUnitText() {
        return totalOutQtyUnitText;
    }

    public void setTotalOutQtyUnitText(String totalOutQtyUnitText) {
        this.totalOutQtyUnitText = totalOutQtyUnitText == null ? null : totalOutQtyUnitText.trim();
    }

    public Long getClinicId() {
        return clinicId;
    }

    public void setClinicId(Long clinicId) {
        this.clinicId = clinicId;
    }

    public String getIsEnabled() {
        return isEnabled;
    }

    public void setIsEnabled(String isEnabled) {
        this.isEnabled = isEnabled == null ? null : isEnabled.trim();
    }

    public String getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete == null ? null : isDelete.trim();
    }

    public Long getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy == null ? null : createBy.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(Long updateUserId) {
        this.updateUserId = updateUserId;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy == null ? null : updateBy.trim();
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ClinicMedicalExam other = (ClinicMedicalExam) that;
        return (this.getExamId() == null ? other.getExamId() == null : this.getExamId().equals(other.getExamId()))
            && (this.getMedicalId() == null ? other.getMedicalId() == null : this.getMedicalId().equals(other.getMedicalId()))
            && (this.getPayStatus() == null ? other.getPayStatus() == null : this.getPayStatus().equals(other.getPayStatus()))
            && (this.getPayTime() == null ? other.getPayTime() == null : this.getPayTime().equals(other.getPayTime()))
            && (this.getSubtotal() == null ? other.getSubtotal() == null : this.getSubtotal().equals(other.getSubtotal()))
            && (this.getProjectId() == null ? other.getProjectId() == null : this.getProjectId().equals(other.getProjectId()))
            && (this.getProjectName() == null ? other.getProjectName() == null : this.getProjectName().equals(other.getProjectName()))
            && (this.getProjectCategory() == null ? other.getProjectCategory() == null : this.getProjectCategory().equals(other.getProjectCategory()))
            && (this.getProjectType() == null ? other.getProjectType() == null : this.getProjectType().equals(other.getProjectType()))
            && (this.getSampleType() == null ? other.getSampleType() == null : this.getSampleType().equals(other.getSampleType()))
            && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
            && (this.getFrequencyCode() == null ? other.getFrequencyCode() == null : this.getFrequencyCode().equals(other.getFrequencyCode()))
            && (this.getFrequencyCodeText() == null ? other.getFrequencyCodeText() == null : this.getFrequencyCodeText().equals(other.getFrequencyCodeText()))
            && (this.getCycle() == null ? other.getCycle() == null : this.getCycle().equals(other.getCycle()))
            && (this.getCycleUnit() == null ? other.getCycleUnit() == null : this.getCycleUnit().equals(other.getCycleUnit()))
            && (this.getCycleUnitText() == null ? other.getCycleUnitText() == null : this.getCycleUnitText().equals(other.getCycleUnitText()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getTotalOutQty() == null ? other.getTotalOutQty() == null : this.getTotalOutQty().equals(other.getTotalOutQty()))
            && (this.getTotalOutQtyUnit() == null ? other.getTotalOutQtyUnit() == null : this.getTotalOutQtyUnit().equals(other.getTotalOutQtyUnit()))
            && (this.getTotalOutQtyUnitText() == null ? other.getTotalOutQtyUnitText() == null : this.getTotalOutQtyUnitText().equals(other.getTotalOutQtyUnitText()))
            && (this.getClinicId() == null ? other.getClinicId() == null : this.getClinicId().equals(other.getClinicId()))
            && (this.getIsEnabled() == null ? other.getIsEnabled() == null : this.getIsEnabled().equals(other.getIsEnabled()))
            && (this.getIsDelete() == null ? other.getIsDelete() == null : this.getIsDelete().equals(other.getIsDelete()))
            && (this.getCreateUserId() == null ? other.getCreateUserId() == null : this.getCreateUserId().equals(other.getCreateUserId()))
            && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateUserId() == null ? other.getUpdateUserId() == null : this.getUpdateUserId().equals(other.getUpdateUserId()))
            && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getExamId() == null) ? 0 : getExamId().hashCode());
        result = prime * result + ((getMedicalId() == null) ? 0 : getMedicalId().hashCode());
        result = prime * result + ((getPayStatus() == null) ? 0 : getPayStatus().hashCode());
        result = prime * result + ((getPayTime() == null) ? 0 : getPayTime().hashCode());
        result = prime * result + ((getSubtotal() == null) ? 0 : getSubtotal().hashCode());
        result = prime * result + ((getProjectId() == null) ? 0 : getProjectId().hashCode());
        result = prime * result + ((getProjectName() == null) ? 0 : getProjectName().hashCode());
        result = prime * result + ((getProjectCategory() == null) ? 0 : getProjectCategory().hashCode());
        result = prime * result + ((getProjectType() == null) ? 0 : getProjectType().hashCode());
        result = prime * result + ((getSampleType() == null) ? 0 : getSampleType().hashCode());
        result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
        result = prime * result + ((getFrequencyCode() == null) ? 0 : getFrequencyCode().hashCode());
        result = prime * result + ((getFrequencyCodeText() == null) ? 0 : getFrequencyCodeText().hashCode());
        result = prime * result + ((getCycle() == null) ? 0 : getCycle().hashCode());
        result = prime * result + ((getCycleUnit() == null) ? 0 : getCycleUnit().hashCode());
        result = prime * result + ((getCycleUnitText() == null) ? 0 : getCycleUnitText().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getTotalOutQty() == null) ? 0 : getTotalOutQty().hashCode());
        result = prime * result + ((getTotalOutQtyUnit() == null) ? 0 : getTotalOutQtyUnit().hashCode());
        result = prime * result + ((getTotalOutQtyUnitText() == null) ? 0 : getTotalOutQtyUnitText().hashCode());
        result = prime * result + ((getClinicId() == null) ? 0 : getClinicId().hashCode());
        result = prime * result + ((getIsEnabled() == null) ? 0 : getIsEnabled().hashCode());
        result = prime * result + ((getIsDelete() == null) ? 0 : getIsDelete().hashCode());
        result = prime * result + ((getCreateUserId() == null) ? 0 : getCreateUserId().hashCode());
        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateUserId() == null) ? 0 : getUpdateUserId().hashCode());
        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", examId=").append(examId);
        sb.append(", medicalId=").append(medicalId);
        sb.append(", payStatus=").append(payStatus);
        sb.append(", payTime=").append(payTime);
        sb.append(", subtotal=").append(subtotal);
        sb.append(", projectId=").append(projectId);
        sb.append(", projectName=").append(projectName);
        sb.append(", projectCategory=").append(projectCategory);
        sb.append(", projectType=").append(projectType);
        sb.append(", sampleType=").append(sampleType);
        sb.append(", price=").append(price);
        sb.append(", frequencyCode=").append(frequencyCode);
        sb.append(", frequencyCodeText=").append(frequencyCodeText);
        sb.append(", cycle=").append(cycle);
        sb.append(", cycleUnit=").append(cycleUnit);
        sb.append(", cycleUnitText=").append(cycleUnitText);
        sb.append(", remark=").append(remark);
        sb.append(", totalOutQty=").append(totalOutQty);
        sb.append(", totalOutQtyUnit=").append(totalOutQtyUnit);
        sb.append(", totalOutQtyUnitText=").append(totalOutQtyUnitText);
        sb.append(", clinicId=").append(clinicId);
        sb.append(", isEnabled=").append(isEnabled);
        sb.append(", isDelete=").append(isDelete);
        sb.append(", createUserId=").append(createUserId);
        sb.append(", createBy=").append(createBy);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateUserId=").append(updateUserId);
        sb.append(", updateBy=").append(updateBy);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}